System and method for starting a motor

ABSTRACT

A motor controller coupled to a motor is provided. The motor controller is configured to transmit a first instruction to the motor to perform a first start attempt utilizing at least one parameter in a first set of parameters. The motor controller is additionally configured to receive feedback associated with the first start attempt from the motor, and transmit, in response to the feedback, a second instruction to the motor to perform a second start attempt utilizing at least one parameter in a second set of parameters, wherein the second set of parameters differ from the first set of parameters.

BACKGROUND

The field of the disclosure relates generally to motor controllers, andmore particularly, to systems and methods for starting a motor.

At least some known systems that include an electronically commutatedmotor (ECM) utilize a preconfigured set of parameters for controllingthe amount of effort exerted by the motor to overcome environmentalconditions, a load coupled to the motor, and/or other factors that mayresist starting of the motor. The parameters generally pertain to avoltage, a current, and/or one or more time periods during which thecurrent and voltage are applied to each of a plurality of windings inthe motor. The values of the parameters are tuned to an expectedapplication and environment for the motor. Applying insufficient effortprevents the motor from starting. Similarly, it is possible to apply toomuch effort, which also prevents the motor from starting. Accordingly,for such systems, a manufacturer or distributor that provides the motorto a customer may be required to spend time and money configuring theparameters in order for the motor to start properly at the customer'slocation.

BRIEF DESCRIPTION

In one aspect, a motor controller coupled to a motor is provided. Themotor controller is configured to transmit a first instruction to themotor to perform a first start attempt utilizing at least one parameterin a first set of parameters. The motor controller is additionallyconfigured to receive feedback associated with the first start attemptfrom the motor, and transmit, in response to the feedback, a secondinstruction to the motor to perform a second start attempt utilizing atleast one parameter in a second set of parameters, wherein the secondset of parameters differ from the first set of parameters.

In another aspect, a method for starting a motor is provided. The methodincludes transmitting, by a motor controller, a first instruction to themotor to perform a first start attempt utilizing at least one parameterin a first set of parameters. The method additionally includesreceiving, by the motor controller, feedback associated with the firststart attempt from the motor, and transmitting, by the motor controller,in response to the feedback, a second instruction to the motor toperform a second start attempt utilizing at least one parameter in asecond set of parameters, wherein the second set of parameters differfrom the first set of parameters.

In another aspect, a computer-readable storage device havingcomputer-executable instructions embodied thereon is provided. Whenexecuted by a motor controller, the computer-executable instructionscause the motor controller to transmit a first instruction to a motor toperform a first start attempt utilizing at least one parameter in afirst set of parameters, receive feedback associated with the firststart attempt from the motor, and transmit, in response to the feedback,a second instruction to the motor to perform a second start attemptutilizing at least one parameter in a second set of parameters, whereinthe second set of parameters differ from the first set of parameters.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example system that includes a motorcontroller coupled to a motor.

FIG. 2 is a block diagram of an example computing device.

FIG. 3 is a block diagram of data stored in a memory of a computingdevice of the motor controller.

FIG. 4 is a flow chart of an example process performed by the motorcontroller in accordance with one aspect of the present disclosure.

DETAILED DESCRIPTION

Implementations of the systems and methods described herein enable amotor controller to start a motor, for example an electronicallycommutated motor, based on a set of parameters that are notpreconfigured for the specific environment or application of the motorbefore the motor is installed. More specifically, implementations of thesystems and methods enable the motor controller to determine the set ofparameters that cause the motor to exert the correct amount of effort tostart the motor within the particular environment and application thatthe motor is used in. The parameters specify one or more of a startingvoltage, a starting current, a start attempt duration, a startcommutation timing, a braking duration, an alignment voltage, analignment current, and an alignment duration. The motor controllertransmits a first instruction to the motor to attempt to start the motorbased on a first set of parameters. The motor controller then receivesfeedback from the motor based on the first start attempt. For example,the feedback may indicate that the motor controller failed to start.

Next, the motor controller transmits a second instruction to the motorto attempt to start the motor based on a second set of parameters. Thesecond set of parameters cause the motor to exert more effort than inthe first attempt. The motor controller may iteratively cycle throughmultiple attempts to start the motor, with each attempt being based onparameters that cause the motor to exert more effort than the previousattempt. Once the motor starts, the motor controller stores anindication in memory indicating the set of parameters that enabled themotor to successfully start. In subsequent start attempts, the motorcontroller transmits an instruction to start the motor based on theparameters associated with the stored indication. Accordingly, the motorcontroller adapts the starting parameters to the specific environmentand application that the motor is used in, rather than requiring theparameters to be manually configured.

In one implementation, a computer program is provided, and the programis embodied on a computer-readable medium. In an example implementation,the computer program is executed on a single computing device, withoutrequiring a connection to a server computer. The computer program isflexible and designed to run in various different environments withoutcompromising any major functionality. In some embodiments, the systemincludes multiple components distributed among a plurality of computingdevices. One or more components may be in the form ofcomputer-executable instructions embodied in a computer-readable medium.The systems and processes are not limited to the specific embodimentsdescribed herein. In addition, components of each system and eachprocess can be practiced independent and separate from other componentsand processes described herein. Each component and process can also beused in combination with other assembly packages and processes.

As used herein, an element or step recited in the singular and precededwith the word “a” or “an” should be understood as not excluding pluralelements or steps, unless such exclusion is explicitly recited.Furthermore, references to “example implementation” or “oneimplementation” of the present disclosure are not intended to beinterpreted as excluding the existence of additional implementationsthat also incorporate the recited features.

FIG. 1 is a block diagram of an example system 100 that includes a motorcontroller 102 coupled to a motor 104. Motor controller 102 transmitsinstructions 103 to motor 104 to control an operation of motor 104, andreceives feedback 105 from motor 104 to determine the operational statusof motor 104. In some implementations, motor controller 102 isincorporated within motor 104. Motor 104 may be an electric motor and,in some implementations, is an electric variable speed motor, such as anelectronically commutated motor (ECM). In some implementations, motor104 is a sensorless ECM, meaning motor 104 does not include sensors suchas an encoder, optical sensors, or Hall sensors for determining aposition or operational status of a rotor (not shown) in motor 104.Rather, in such implementations, motor 104 generates back electromotiveforce (BEMF) signals that may be received by motor controller 102, forexample as part of feedback 105, to determine the operational status ofmotor 104. Motor 104 drives a load 106 that includes a fluid-movingelement 110, such as a fan, a blower wheel, or an impeller. Motor 104 iscoupled to fluid-moving element 110 by a shaft 108. Motor 104 rotatesshaft 108, causing fluid-moving element 110 to receive a fluid such asair or water through an inlet 112 and force the fluid out through outlet114. Accordingly, system 100 may be used, for example, in a heating,ventilation, and air conditioning (HVAC) system, or, in otherimplementations, in an aquatic system, such as a pool or spa. Multiplefactors, such as a mounting 118 of motor 104, wind 120 directed intooutlet 114, and/or an inertia of fluid-moving element 110 may affect anamount of effort that must be exerted by motor 104 in order to start.Motor controller 102 includes a computing device 116 configured toenable motor controller 102 to perform one or more functions describedherein. In particular, motor controller 102 is configured to transmitinstructions 103 to motor 104 to attempt to start motor 104 based onparameters stored in a memory 210 (FIG. 2) of computing device 116. Asdescribed in more detail herein, computing device 116 is configured todetermine, based on feedback 105 from motor 104, parameters that causemotor 104 to exert a sufficient amount of effort to enable motor 104 tostart.

FIG. 2 is a block diagram of an example computing device 200. At leastsome components of computing device 200 are included in implementationsof other devices describe herein, for example computing device 116.Computing device 200 includes a processor 205 for executinginstructions. In some implementations, executable instructions arestored in a memory area 210. Processor 205 may include one or moreprocessing units (e.g., in a multi-core configuration). Memory area 210is any device allowing information such as executable instructionsand/or other data to be stored and retrieved. In computing device 116,memory area 210 stores parameters for starting motor 104, as describedin more detail herein. Memory area 210 may include one or morecomputer-readable media.

In some implementations, computing device 200 also includes at least onemedia output component 215 for presenting information to user 201. Mediaoutput component 215 is any component capable of conveying informationto user 201. In some implementations, media output component 215includes an output adapter such as a video adapter and/or an audioadapter. An output adapter is operatively coupled to processor 205 andoperatively couplable to an output device such as a display device(e.g., a liquid crystal display (LCD), one or more light emitting diodes(LED), an organic light emitting diode (OLED) display, cathode ray tube(CRT), or “electronic ink” display) or an audio output device (e.g., aspeaker or headphones). In other implementations, computing device 200does not include media output component 215. For example, someimplementations of computing device 116 (FIG. 1) may not include mediaoutput component 215.

In some implementations, computing device 200 includes an input device220 for receiving input from user 201. Input device 220 may include, forexample, one or more buttons, a keypad, a touch sensitive panel (e.g., atouch pad or a touch screen), and/or a microphone. A single componentsuch as a touch screen may function as both an output device of mediaoutput component 215 and input device 220. Some implementations ofcomputing device 200, for example some implementations of computingdevice 116 (FIG. 1), do not include input device 220.

Computing device 200 may also include a communication interface 225,which is communicatively couplable to another device 232, for examplemotor 104. In some implementations, communication interface 225 isconfigured to enable communication through a short range wirelesscommunication protocol such as Bluetooth™ or Z-Wave™, through a wirelesslocal area network (WLAN) implemented pursuant to an IEEE (Institute ofElectrical and Electronics Engineers) 802.11 standard (i.e., WiFi),and/or through a mobile phone (i.e., cellular) network (e.g., GlobalSystem for Mobile communications (GSM), 3G, 4G) or other mobile datanetwork (e.g., Worldwide Interoperability for Microwave Access (WIMAX)),or a wired connection (i.e., one or more conductors for transmittingelectrical signals). In implementations in which communication interface225 couples motor controller 102 to motor 104, communication interface225 may include, for example, one or more conductors for transmittingelectrical signals and/or power to and/or from motor 104. Additionally,computing device 200 may also include power electronics 230 which may becoupled, for example, to processor 205 and motor 104.

FIG. 3 is a block diagram of data 300 stored in memory 210 of computingdevice 116 included in motor controller 102. Data 300 includes a firstparameter set 302, a second parameter set 304, a third parameter set306, and a fourth parameter set 308. In other implementations, data 300includes a different number of parameter sets than four. Each parameterset 302, 304, 306, and 308 includes one or more parameters pertaining toa start attempt by motor 104. More specifically, at least some of theparameters pertain to an amount of effort exerted by motor 104 toovercome factors that may resist the starting of motor 104, such asinertia of fluid-moving element 110, mounting 118 of motor 104, and/orwind 120 directed into outlet 114. First parameter set 302 includes, astarting voltage 310, a starting current 312, a start attempt duration314, a start commutation timing 316, a braking duration 318, analignment voltage 320, an alignment current 322, and an alignmentduration 324. Each of second parameter set 304, third parameter set 306,and fourth parameter set 308 includes corresponding parametersassociated with increasing levels of effort. The parameters associatedwith the parameter sets are examples only and in other implementations,the parameter sets may include different, more, or fewer parameters.

As an example, starting voltage 310 may be 110 Volts in first parameterset 302, and increase by 50 Volts in each of second parameter set 304,third parameter set 306, and fourth parameter set 308. Morespecifically, for example, in a first start attempt, motor 104 applies110 Volts for commutation during start attempt duration 314. In a secondstart attempt, motor 104 may apply, for example, 160 Volts forcommutation during a second start attempt duration, and so on. Startcommutation timing 316 represents a time period in which motor 104energizes each winding (not shown) in motor 104. Given that wind 120entering through outlet 114 may cause fluid-moving element 110 to rotatein a reverse direction prior to starting motor 104, a portion of thestart process may include slowing or stopping the reverse rotation andaligning a rotor (not shown) within motor 104. Accordingly, brakingduration 318 represents a time period in which motor 104 short circuits(e.g., connects) two or more of the windings (not shown) to slow or stopthe reverse rotation of fluid-moving element 110. Alignment duration 324represents a time period in which motor 104 energizes the windings (notshown) to align the rotor (not shown) based on alignment voltage 320and/or alignment current 322. One or more of starting current 312, startattempt duration 314, start commutation timing 316, braking duration318, alignment voltage 320, alignment current 322, and alignmentduration 324 additionally or alternatively change in each of secondparameter set 304, third parameter set 306, and fourth parameter set308.

Additionally, memory 210 includes an indication 326 of which parametersresult in a successful start of motor 104. For example, indication 326may indicate second parameter set 304. In some implementations, memory210 includes a multiplier 328 and computing device 116 generates aparameter set, for example second parameter set 304, by multiplying oneor more of parameters 310, 312, 314, 316, 318, 320, 322, and 324 bymultiplier 328. In some implementations, memory 210 includes one or morelimits 330 representing values for one or more of parameters 310, 312,314, 316, 318, 320, 322, 324, that should not be exceeded based on oneor more capabilities of motor 104. In some implementations, computingdevice 116 transmits an instruction 103 to motor 104 to align a rotor(not shown) within motor 104, based on one or more of alignment voltage320, alignment current 322, and alignment duration 324.

FIG. 4 is a flow chart of an example process 400 performed by motorcontroller 102 in accordance with one aspect of the present disclosure.Initially, motor controller 102 transmits 402 a first instruction 103 tomotor 104 to perform a first start attempt utilizing at least oneparameter (e.g., starting voltage 310) in a first set of parameters(e.g., first parameter set 302). Next, motor controller 102 receives 404feedback 105 associated with the first start attempt from motor 104. Forexample, feedback 105 may indicate that motor 104 failed to start, basedfor example, on a particular pattern of BEMF or lack thereof, infeedback 105. Additionally, motor controller 102 transmits 406, inresponse to feedback 105, a second instruction 103 to motor 104 toperform a second start attempt utilizing at least one parameter (e.g.,starting voltage 310) in a second set of parameters (e.g., secondparameter set 304). The second set of parameters (e.g., second parameterset 304) differ from the first set of parameters (e.g., first parameterset 302).

In some implementations, the feedback is first feedback, motorcontroller 102 additionally includes a memory (e.g., memory 210), andmotor controller 102 is further configured to receive second feedback105 associated with the second start attempt from motor 104, determine,from second feedback 105, that the second set of parameters (e.g.,second parameter set 304) caused motor 104 to start successfully, andstore an indication (e.g., indication 326) in memory 210 to use thesecond set of parameters (e.g., second parameter set 304) for subsequentattempts to start motor 104.

In some implementations, motor controller 102 includes a memory (e.g.,memory 210) that includes at least the first set of parameters (e.g.,first parameter set 302) and the second set of parameters (e.g., secondparameter set 304), and motor controller 102 is further configured toselect the second set of parameters (e.g., second parameter set 304)from memory 210 in response to feedback 105.

In some implementations, motor controller 102 is configured to generatethe second set of parameters (e.g., second parameter set 304) byadjusting the first set of parameters (e.g., first parameter set 302) inresponse to feedback 105. In some such implementations, motor controller102 is further configured to adjust the first set of parameters (e.g.,first parameter set 302) by applying a multiplier (e.g., multiplier 328)to the at least one parameter (e.g., starting voltage 310) in the firstset of parameters (e.g., first parameter set 302).

In some implementations, motor controller 102 is further configured totransmit the first instruction 103 such that the at least one parameteris at least one of a starting voltage (e.g., starting voltage 310), astarting current (e.g., starting current 312), a start attempt duration(e.g., start attempt duration 314), a start commutation timing (e.g.,start commutation timing 316), a braking duration (e.g., brakingduration 318), an alignment voltage (e.g., alignment voltage 320), analignment current (e.g., alignment current 322), and an alignmentduration (e.g., alignment duration 324). In some implementations, motorcontroller 102 is further configured to transmit an alignmentinstruction 103 to motor 104, for example before or as part of the firstinstruction.

In some implementations, the first set of parameters (e.g., firstparameter set 302) is associated with a first amount of effort and thesecond set of parameters (e.g., second parameter set 304) is associatedwith a second amount of effort that is greater than the first amount ofeffort. In some implementations, motor controller 102 is configured todetect whether motor 104 failed to start based on feedback 105.

The methods and systems described herein may be implemented usingcomputer programming or engineering techniques including computersoftware, firmware, hardware or any combination or subset thereof,wherein the technical effect may include at least one of: (a)transmitting a first instruction to a motor to perform a first startattempt utilizing at least one parameter in a first set of parameters;(b) receiving feedback associated with the first start attempt from themotor; and (c) transmitting, in response to the feedback, a secondinstruction to the motor to perform a second start attempt utilizing atleast one parameter in a second set of parameters, wherein the secondset of parameters differ from the first set of parameters.

The term processor, as used herein, refers to central processing units,microprocessors, microcontrollers, reduced instruction set circuits(RISC), application specific integrated circuits (ASIC), logic circuits,and any other circuit or processor capable of executing the functionsdescribed herein.

As used herein, the terms “software” and “firmware” are interchangeable,and include any computer program stored in memory for execution byprocessor 205, including RAM memory, ROM memory, EPROM memory, EEPROMmemory, and non-volatile RAM (NVRAM) memory. The above memory types areexamples only, and are thus not limiting as to the types of memoryusable for storage of a computer program.

As will be appreciated based on the foregoing specification, theabove-discussed embodiments of the disclosure may be implemented usingcomputer programming or engineering techniques including computersoftware, firmware, hardware or any combination or subset thereof Anysuch resulting computer program, having computer-readable and/orcomputer-executable instructions, may be embodied or provided within oneor more computer-readable media, thereby making a computer programproduct, i.e., an article of manufacture, according to the discussedembodiments of the disclosure. These computer programs (also known asprograms, software, software applications or code) include machineinstructions for a programmable processor, and can be implemented in ahigh-level procedural and/or object-oriented programming language,and/or in assembly/machine language. As used herein, the terms“machine-readable medium,” “computer-readable medium,” and“computer-readable media” refer to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The “machine-readable medium,” “computer-readable medium,” and“computer-readable media,” however, do not include transitory signals(i.e., they are “non-transitory”). The term “machine-readable signal”refers to any signal used to provide machine instructions and/or data toa programmable processor.

As compared to known systems and methods for starting a motor, thesystems and methods described herein enable a motor controller toadaptively determine a set of parameters that enable the motor to startin a given environment. Accordingly, the added time and cost associatedwith manually tuning parameters for starting a motor in the environmentmay be eliminated.

Exemplary embodiments of systems and methods for starting a motor aredescribed herein. The systems and methods described herein are notlimited to the specific embodiments described herein, but rather,components of the systems and/or steps of the methods may be utilizedindependently and separately from other components and/or stepsdescribed herein.

This written description uses examples to provide details on thedisclosure, including the best mode, and also to enable any personskilled in the art to practice the disclosure, including making andusing any devices or systems and performing any incorporated methods.The patentable scope of the disclosure is defined by the claims, and mayinclude other examples that occur to those skilled in the art. Suchother examples are intended to be within the scope of the claims if theyhave structural elements that do not differ from the literal language ofthe claims, or if they include equivalent structural elements withinsubstantial differences from the literal language of the claims.

What is claimed is:
 1. A motor controller coupled to a motor, said motorcontroller configured to: transmit a first instruction to the motor toperform a first start attempt utilizing at least one parameter in afirst set of parameters; receive feedback associated with the firststart attempt from the motor; and transmit, in response to the feedback,a second instruction to the motor to perform a second start attemptutilizing at least one parameter in a second set of parameters, whereinthe second set of parameters differ from the first set of parameters. 2.The motor controller of claim 1, wherein the feedback is first feedback,said motor controller comprises a memory, and said motor controller isfurther configured to: receive second feedback associated with thesecond start attempt from the motor; determine, from the secondfeedback, that the second set of parameters caused the motor to startsuccessfully; and store an indication in said memory to use the secondset of parameters for subsequent attempts to start the motor.
 3. Themotor controller of claim 1, wherein the motor controller comprises amemory that includes at least the first set of parameters and the secondset of parameters, and said motor controller is further configured toselect the second set of parameters from said memory in response to thefeedback.
 4. The motor controller of claim 1, wherein the motorcontroller is configured to generate the second set of parameters byadjusting the first set of parameters in response to the feedback. 5.The motor controller of claim 4, wherein the motor controller is furtherconfigured to adjust the first set of parameters by applying amultiplier to the at least one parameter in the first set of parameters.6. The motor controller of claim 1, further configured such that the atleast one parameter is at least one of a starting voltage, a startingcurrent, a start attempt duration, a start commutation timing, a brakingduration, an alignment voltage, an alignment current, and an alignmentduration.
 7. The motor controller of claim 1, further configured totransmit an alignment instruction to the motor.
 8. The motor controllerof claim 1, wherein the first set of parameters is associated with afirst amount of effort and the second set of parameters is associatedwith a second amount of effort that is greater than the first amount ofeffort.
 9. The motor controller of claim 1, further configured to detectwhether the motor failed to start based on the feedback.
 10. A methodfor starting a motor, comprising: transmitting, by a motor controller, afirst instruction to the motor to perform a first start attemptutilizing at least one parameter in a first set of parameters;receiving, by the motor controller, feedback associated with the firststart attempt from the motor; and transmitting, by the motor controller,in response to the feedback, a second instruction to the motor toperform a second start attempt utilizing at least one parameter in asecond set of parameters, wherein the second set of parameters differfrom the first set of parameters.
 11. The method of claim 10, whereinthe feedback is first feedback and the motor controller includes amemory, said method further comprising: receiving second feedbackassociated with the second start attempt from the motor; determining,from the second feedback, that the second set of parameters caused themotor to start successfully; and storing an indication in the memory touse the second set of parameters for subsequent attempts to start themotor.
 12. The method of claim 10, wherein the motor controller includesa memory that includes at least the first set of parameters and thesecond set of parameters, said method further comprising selecting thesecond set of parameters from the memory in response to the feedback.13. The method of claim 10, further comprising generating the second setof parameters by adjusting the first set of parameters in response tothe feedback.
 14. The method of claim 13, wherein adjusting the firstset of parameters further comprises applying a multiplier to the atleast one parameter in the first set of parameters.
 15. The method ofclaim 10, further comprising transmitting the first instruction toperform the first start attempt utilizing at least one of a startingvoltage, a starting current, a start attempt duration, a startcommutation timing, a braking duration, an alignment voltage, analignment current, and an alignment duration.
 16. The method of claim10, further comprising transmitting an alignment instruction to themotor.
 17. The method of claim 10, wherein the first set of parametersis associated with a first amount of effort and the second set ofparameters is associated with a second amount of effort that is greaterthan the first amount of effort.
 18. The method of claim 10, furthercomprising detecting that the motor failed to start based on thefeedback.
 19. A computer-readable storage device havingcomputer-executable instructions embodied thereon, wherein when executedby a motor controller, cause the motor controller to: transmit a firstinstruction to a motor to perform a first start attempt utilizing atleast one parameter in a first set of parameters; receive feedbackassociated with the first start attempt from the motor; and transmit, inresponse to the feedback, a second instruction to the motor to perform asecond start attempt utilizing at least one parameter in a second set ofparameters, wherein the second set of parameters differ from the firstset of parameters.
 20. The computer-readable storage device of claim 19,wherein the motor controller includes a memory and saidcomputer-executable instructions further cause the motor controller to:receive second feedback associated with the second start attempt fromthe motor; determine, from the second feedback, that the second set ofparameters caused the motor to start successfully; and store anindication in the memory to use the second set of parameters forsubsequent attempts to start the motor.